
#ifdef  AV_CONTROLLER

void AVC_SetKeyCommand(unsigned char ucCmd);
//////////////// HOST Send Command //////////////////////////
#define	AVC_KEY_NONE				0
#define	AVC_KEY_ROUTE_GUIDE_ON	1
#define	AVC_KEY_ROUTE_GUIDE_OFF	2
#define	AVC_KEY_DVDP_ON			3
#define	AVC_KEY_DVDP_OFF			4
#define	AVC_KEY_RETURN_MODE		5
#define	AVC_KEY_RETURN_0x00FF	6
#define	AVC_KEY_MUTE_ON			7
#define	AVC_KEY_MUTE_OFF			8

/////////////////  HOST Received Command //////////////////////
#define	AVC_RX_RMC_NUM0				0x81
#define	AVC_RX_RMC_NUM1				0x82
#define	AVC_RX_RMC_NUM2				0x83
#define	AVC_RX_RMC_NUM3				0x84
#define	AVC_RX_RMC_NUM4				0x85
#define	AVC_RX_RMC_NUM5				0x86
#define	AVC_RX_RMC_NUM6				0x87
#define	AVC_RX_RMC_NUM7				0x88
#define	AVC_RX_RMC_NUM8				0x89
#define	AVC_RX_RMC_NUM9				0x8A
#define	AVC_RX_RMC_PLAY_PAUSE		0x8B
#define	AVC_RX_RMC_SUBTITLE			0x8E
#define	AVC_RX_RMC_AUDIO			0x8F
#define	AVC_RX_RMC_ANGLE			0x90
#define	AVC_RX_RMC_RETURN			0x91
#define	AVC_RX_RMC_CURSOR_UP		0x92
#define	AVC_RX_RMC_CURSOR_DOWN		0x93
#define	AVC_RX_RMC_CURSOR_LEFT		0x94
#define	AVC_RX_RMC_CURSOR_RIGHT		0x95
#define	AVC_RX_RMC_ENTER			0x96
#define	AVC_RX_RMC_SETUP			0x97
#define	AVC_RX_RMC_MENU				0x9A
#define	AVC_RX_RMC_TITLE			0x9B
#define	AVC_RX_RMC_ZOOM				0xA0
#define	AVC_RX_RMC_CLEAR			0xA1
#define	AVC_RX_RMC_MUTE				0xA4
#define	AVC_RX_RMC_POWER			0xA6
#define	AVC_RX_RMC_NEXT				0xA9
#define	AVC_RX_RMC_PREVIOUS			0xAA
#define	AVC_RX_RMC_NEXT				0xA9
#define	AVC_RX_RMC_VOL_UP			0xAB
#define	AVC_RX_RMC_VOL_DOWN			0xAC
#define	AVC_RX_RMC_RADIO			0xAD
#define	AVC_RX_RMC_CHANGER			0xAE
#define	AVC_RX_RMC_SELECT			0xAF

#define	AVC_RX_MODE1				0x06
#define	AVC_RX_MODE2				0x07
#define	AVC_RX_MODE3				0x08
#define	AVC_RX_MODE4				0x09
#define	AVC_RX_MODE_OFF				0x05

#define	AVC_RX_DRV_ON				0x01
#define	AVC_RX_DRV_OFF				0x02

#define	AVC_RX_PS_ON				0x03
#define	AVC_RX_PS_OFF				0x04

#define	AVC_RX_MIC_OFF				0x0E
#define	AVC_RX_MIC_ON				0x7C
#define	AVC_RX_MIX_ON				0x0C
#define	AVC_RX_MIX_OFF				0x0D
#define	AVC_RX_MIC1_ON				0x7A
#define	AVC_RX_MIC2_ON				0x7B

/////////////////////////////////////////////////////////

typedef  enum{
	AVC_MODE_OFF,
	AVC_MODE1,
	AVC_MODE2,
	AVC_MODE3,
	AVC_MODE4,
}AVC_MODE;

AVC_MODE AVC_GetMode(void);
void AVC_SetMode(AVC_MODE ucMode);

typedef  enum{
	AVC_DRV_NONE,
	AVC_DRV_ON,
	AVC_DRV_OFF,
}AVC_DRIVER_MODE;

AVC_DRIVER_MODE AVC_GetDriverSpeakerMode(void);
void AVC_SetDriverSpeakerMode(AVC_DRIVER_MODE ucMode);

typedef  enum{
	AVC_PS_OFF,
	AVC_PS_ON
}AVC_PS_STATUS;

AVC_PS_STATUS AVC_GetPS_Status(void);
void AVC_SetPS_Status(AVC_PS_STATUS ucMode);

typedef enum{
	AVC_MIC_OFF,
	AVC_MIC_ON,
	AVC_MIX_ON,
	AVC_MIX_OFF
}AVC_MIC_STATUS;

AVC_MIC_STATUS AVC_GetMicStatus(void);
void AVC_SetMicStatus(AVC_MIC_STATUS ucMode);

void AVC_CommunicationMain(void);
void AVC_RX_ProcessMain(void);
void AVC_TX_Interrupt(void);
void AVC_RX_Interrupt(void);
void AVC_SerialSendStart(unsigned char ucData);
void AVC_SerialReadStart(void);

void AVC_MODE_DISP_MainText(void);
void AVC_MODE_DISP_SubText(void);
void AVC_MODE_DISP_IconMain(void);
void AVC_PS_SourcePlay(void);

#endif

